package com.ourteam.system.dao;

import net.dao.IDataAccessInterface;


/**
 * Template Name : DAO接口模板
 * Template Version : 1
 * Template Last Modfiy Date : Thu Sep 21 11:14:14 CST 2017
 * Auto Generate Date : 2018-07-31 15:13:18
  * Warning ! This file will be overwrite when regenerate !
  *
 */
public interface IBaseSysModuleDAO extends IDataAccessInterface<SysModule, SysModuleDAOQueryBean> {
    /**
        *  Mapped Entity Name
        */
    static final String EntityName = "SYS_MODULE";

    /**
     * Mapped Field ID
    */
    static final String Id = "SYS_MODULE.ID";

    /**
     * Mapped Field MODULE_CODE
    */
    static final String ModuleCode = "SYS_MODULE.MODULE_CODE";

    /**
     * Mapped Field MODULE_NAME
    */
    static final String ModuleName = "SYS_MODULE.MODULE_NAME";

    /**
     * Mapped Field PARENT_MODULE_ID
    */
    static final String ParentModuleId = "SYS_MODULE.PARENT_MODULE_ID";

    /**
     * Mapped Field REMARKS
    */
    static final String Remarks = "SYS_MODULE.REMARKS";

    /**
     * Mapped Field STATUS
    */
    static final String Status = "SYS_MODULE.STATUS";

    /**
     * Mapped Field DOMAIN_ID
    */
    static final String DomainId = "SYS_MODULE.DOMAIN_ID";

    /**
     * Mapped Field MODULE_ICON
    */
    static final String ModuleIcon = "SYS_MODULE.MODULE_ICON";

    /**
     * Mapped Field SORT_INDEX
    */
    static final String SortIndex = "SYS_MODULE.SORT_INDEX";

    /**
     * Mapped Field MODULE_ICON_CONTENT
    */
    static final String ModuleIconContent = "SYS_MODULE.MODULE_ICON_CONTENT";

    /**
     * Mapped Field MODULE_TYPE
    */
    static final String ModuleType = "SYS_MODULE.MODULE_TYPE";

    /**
     * Mapped Attribute domainCode
    */
    static final String DomainCode = org.apache.commons.lang.StringUtils.replace(com.ourteam.system.dao.ISysDomainDAO.DomainCode,
            com.ourteam.system.dao.ISysDomainDAO.EntityName + ".", "SYS_DOMAIN.");

    /**
     * Mapped Attribute domainName
    */
    static final String DomainName = org.apache.commons.lang.StringUtils.replace(com.ourteam.system.dao.ISysDomainDAO.DomainName,
            com.ourteam.system.dao.ISysDomainDAO.EntityName + ".", "SYS_DOMAIN.");

    /**
     * Delete Data
     * @param final long id
     * @throws Exception
     */
    void delete(final long id) throws Exception;

    /**
         * Find Data By Primary Key
         * @param  final long id
         * @throws Exception
         */
    SysModule findById(final long id) throws Exception;

    /**
         * Query Related SysRoleModuleRelate
         * @param aQueryBean
         * @throws Exception
         */
    com.ourteam.system.dao.SysRoleModuleRelate[] querySysRoleModuleRelate(
        final SysModuleDAOQueryBean queryBean) throws Exception;

    /**
         * Query Related SysRoleModuleRelate Selective
         * @param queryBean
         * @throws Exception
         */
    java.util.Map<String, Object>[] querySysRoleModuleRelateSelective(
        final SysModuleDAOQueryBean queryBean) throws Exception;

    /**
         * Update Related SysRoleModuleRelate
         * @param aSysRoleModuleRelate
         * @param queryBean
         * @throws Exception
         */
    void updateSysRoleModuleRelate(
        final com.ourteam.system.dao.SysRoleModuleRelate aSysRoleModuleRelate,
        SysModuleDAOQueryBean queryBean) throws Exception;

    /**
         * Delete Related SysRoleModuleRelate
         * @param queryBean
         * @throws Exception
         */
    void deleteSysRoleModuleRelate(final SysModuleDAOQueryBean queryBean)
        throws Exception;

    static public interface DataProperty {
        /**
         * Attribute moduleIconContent
         */
        static final String ModuleIconContent = "moduleIconContent";

        /**
         * Attribute moduleType
         */
        static final String ModuleType = "moduleType";

        /**
         * Attribute domainCode
         */
        static final String DomainCode = "domainCode";

        /**
         * Attribute domainName
         */
        static final String DomainName = "domainName";

        /**
         * Attribute id
         */
        static final String Id = "id";

        /**
         * Attribute moduleCode
         */
        static final String ModuleCode = "moduleCode";

        /**
         * Attribute moduleName
         */
        static final String ModuleName = "moduleName";

        /**
         * Attribute parentModuleId
         */
        static final String ParentModuleId = "parentModuleId";

        /**
         * Attribute remarks
         */
        static final String Remarks = "remarks";

        /**
         * Attribute status
         */
        static final String Status = "status";

        /**
         * Attribute domainId
         */
        static final String DomainId = "domainId";

        /**
         * Attribute moduleIcon
         */
        static final String ModuleIcon = "moduleIcon";

        /**
         * Attribute sortIndex
         */
        static final String SortIndex = "sortIndex";
    }

    static public interface _DataObjectProperty extends DataProperty {
    }
}
